// Copyright 2024 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H
enum layers {
    _QWERTY,
    _FN,
    _ADJUST
};

#define FN MO(_FN)
#define ADJUST MO(_ADJUST)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* Qwerty
 * +-------+-------+-------+-------+-------+-------+               +-------+-------+-------+-------+-------+-------+
 * |   =   |   1   |   2   |   3   |   4   |   5   |               |   6   |   7   |   8   |   9   |   0   |   -   |
 * +-------+-------+-------+-------+-------+-------+               +-------+-------+-------+-------+-------+-------+
 * |  esc  |   Q   |   W   |   E   |   R   |   T   |               |   Y   |   U   |   I   |   O   |   P   |  tab  |
 * +-------+-------+-------+-------+-------+-------+               +-------+-------+-------+-------+-------+-------+
 * | caps  |   A   |   S   |   D   |   F   |   G   |               |   H   |   J   |   K   |   L   |   ;   |   '   |
 * +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
 * | shift |   Z   |   X   |   C   |   V   |   B   |   {   |   }   |   N   |   M   |   ,   |   .   |   /   | enter |
 * +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
 *                 |  alt  | super |  ctrl | space |   fn  |   fn  | bspc  |  del  |  meh  |  ralt |
 *                 +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
 */
[_QWERTY] = LAYOUT (
    KC_EQL, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,                   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_MINS,
    KC_ESC, KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,                   KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,   KC_TAB,
    KC_CAPS,KC_A,   KC_S,   KC_D,   KC_F,   KC_G,                   KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN,KC_QUOT,
    KC_LSFT,KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_LCBR,KC_RCBR,KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,KC_ENT,
                    KC_LALT,KC_LGUI,KC_LCTL,KC_SPC, FN,     FN,     KC_BSPC,KC_DEL, KC_MEH, KC_RALT
),

/* +-------+-------+-------+-------+-------+-------+               +-------+-------+-------+-------+-------+-------+
 * |   +   |   !   |   @   |   #   |   $   |   %   |               |   ^   |   &   |   *   |   (   |   )   |   _   |
 * +-------+-------+-------+-------+-------+-------+               +-------+-------+-------+-------+-------+-------+
 * |adjust |   F1  |   F2  |   F3  |   F4  |   F5  |               |   F6  |   F7  |   F8  |   F9  |  F10  |       |
 * +-------+-------+-------+-------+-------+-------+               +-------+-------+-------+-------+-------+-------+
 * |       |  F11  |  F12  |  F13  |  F14  |  F15  |               |  left |  down |   up  | right |   |   |   "   |
 * +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
 * |       |  vol- |  mute |  vol+ |   `   |   ~   |   [   |   ]   |  home |  end  | pgup  | pgdn  |   \   |       |
 * +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
 *                 |       |       |       |       |       |       |       |       |       |       |
 *                 +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
 */
[_FN] = LAYOUT (
    KC_PLUS,KC_EXLM,KC_AT,  KC_HASH,KC_DLR, KC_PERC,                KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_UNDS,
    ADJUST, KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,                  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10, _______,  
    _______,KC_F11, KC_F12, KC_F13, KC_F14, KC_F15,                 KC_LEFT,KC_DOWN,KC_UP,  KC_RGHT,KC_BSLS,KC_DQUO,
    _______,KC_VOLD,KC_MUTE,KC_VOLU,KC_GRV, KC_TILD,KC_LBRC,KC_RBRC,KC_HOME,KC_END, KC_PGUP,KC_PGDN,KC_PIPE,_______, 
                    _______,_______,_______,_______,_______,_______,_______,_______,_______,_______
),

[_ADJUST] = LAYOUT (
    _______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,
    _______,QK_BOOT,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,
    _______,_______,_______,DB_TOGG,_______,_______,                _______,_______,_______,_______,_______,_______,
    _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
                    _______,_______,_______,_______,_______,_______,_______,_______,_______,_______
),
};

